<template>
  <div class="todo-header">
    <input
      type="text"
      placeholder="请输入你的任务名称，按回车键确认"
      v-model="title"
      @keyup.enter="add"
    />
    <!-- <input
      type="text"
      placeholder="请输入你的任务名称，按回车键确认"
      @keyup.enter="add"
    /> -->
  </div>
</template>

<script>
// 引入todoObj
import { nanoid } from "nanoid";
export default {
  name: "MyHeader",
  data() {
    return {
      //收集用户输入的title
      title: "",
    };
  },
  //接收从App传递过来的addTodo
  props: ["addTodo"],
  methods: {
    add() {
      // 方法一：使用v-model进行数据的动态绑定
      //  校验数据
      if (!this.title) return alert("输入不能为空");
      // 将用户的输入包装成一个todo对象
      const todoObj = { id: nanoid(), title: this.title, done: false };
      // 通知App组件去添加一个todo对象
      this.addTodo(todoObj);
      // 清空输入
      this.title = "";
      
      // console.log(this.title)
    },

    // add(e) {
    // 方法二：获取输入框的值（获取发生事件的输入框的值）
    // 将用户的输入包装成一个todo对象
    // const todoObj = { id: nanoid(), title: e.target.value, done: false };
    // this.addTodo(todoObj)
    // e.target.value = ''

    /* console.log(todoObj) */
    // },
  },
};
</script>

<style scoped>
/*header*/
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>